diff -Nurb libvmime-0.7.1.orig/src/body.cpp libvmime-0.7.1/src/body.cpp
--- libvmime-0.7.1.orig/src/body.cpp	2005-03-18 22:26:46.000000000 +0100
+++ libvmime-0.7.1/src/body.cpp	2006-01-12 15:45:48.443911888 +0100
@@ -200,6 +200,27 @@
 
 		if (partStart < end)
 			m_epilogText = string(buffer.begin() + partStart, buffer.begin() + end);
+
+		// lastPart was not found, so the last boundary was missing
+		// m_epilogText will become a bodyPart
+		if (!lastPart && pos == string::npos) {
+			bodyPart* part = new bodyPart;
+
+			try
+			{
+				part->parse(m_epilogText);
+			}
+			catch (std::exception&)
+			{
+				delete (part);
+				throw;
+			}
+
+			part->m_parent = m_part;
+
+			m_parts.push_back(part);
+		}
+			
 	}
 	// Treat the contents as 'simple' data
 	else
